package com.irdstudio.efp.esb.common.constant;

/**
 * ESB交易相关枚举类
 * 
 * @author huangwb
 * @since 2018年12月19日 下午8:39:17
 * @version 1.0
 */
public class EsbBizEnums {
	/* 返回状态码， 000000：交易成功  交易失败：999999  重复请求：111111  处理中：222222 */
	public enum RetCodeEnum {
		SUCCESS("000000"), FAILURE("999999"), REPEAT("111111"), HAND("222222"),
		/** 业务逻辑处理异常 */
		YWLJCLYC("2001000AA000001"),
		/** 数据处理异常 */
		SJCLYC("2001000AA000002"),
		/** 产品信息校验不通过 */
		CPXXJYBTG("2001000AB000003"),
		/** 客户信息校验不通过 */
		KHXXJYBTG("2001000AB000004"),
		/** 接口约定参数校验不通过 */
		JKYDCSJYBTG("2001000AB000005"),
		/** 违反接口业务规则 例如（有授信的产品，就必输授信成功后才能支用）*/
		WFJKYWGZ("2001000BR000006"),
		/**非工作时间申请 */
		FGZSJSQ("2001000BR000007"),
		/** 其他异常导致的失败 */
		OTHERS_EXCEPTION("2001000FF999999");
		public final String VALUE;

		private RetCodeEnum(String value) {
			this.VALUE = value;
		}

		public String getVALUE() {
			return VALUE;
		}
		
	}
	/**
	 * @description:返回状态信息，交易成功 ;交易失败
	 * @date:2018年12月20日 下午6:03:58
	 * @author:wangyk3
	 */
	public enum RetCodeMsg {
		SUCCESS_MSG("交易成功"), FAILURE_MSG("交易失败");

		public final String VALUE;

		private RetCodeMsg(String value) {
			this.VALUE = value;
		}

		public String getVALUE() {
			return VALUE;
		}
		
	}

	/**
	  * 回收类型
	  * @author qiuyf
	  * @since 2018年12月21日 上午11:40:37
	  * @version 1.0
	 */
	public enum PayBackType {
		ZZD("PO");

		public final String VALUE;

		private PayBackType(String value) {
			this.VALUE = value;
		}
	}

	/**
	 * 产品类型
	 * 
	 * @author liyakui
	 * @since 2018年12月24日 上午10:24:09
	 * @version 1.0
	 */
	public enum PrdType {
		PRD_TPYE("01");

		public final String VALUE;

		private PrdType(String value) {
			this.VALUE = value;
		}
	}

	/**
	 * 渠道类型
	 * 
	 * @author liyakui
	 * @since 2018年12月24日 上午10:26:04
	 * @version 1.0
	 */
	public enum ChannelType {
		CHL_TPYE("互金");

		public final String VALUE;

		private ChannelType(String value) {
			this.VALUE = value;
		}

	}
	
	/**
	 * 监控项告警级别（告警接口）
	  * @author  qiuyf
	  * @since 2019年6月18日 下午4:05:48
	  * @version 1.0
	 */
	public enum AlarmLvl{
		/* 1:普通 */
		NORMAL("1"),
		/* 2:警告 */
		WARN("2"),
		/* 3:严重 */
		SERIOUS("3"),
		/* 4:致命 */
		DEAD("4");
		
		public final String value;

		private AlarmLvl(String value) {
			this.value = value;
		}

		public String getValue() {
			return value;
		}
		
	}
	
	/**
	 * 调用告警成功返回码
	  * @author  qiuyf
	  * @since 2019年6月18日 下午4:26:55
	  * @version 1.0
	 */
	public enum AlarmJudgeRespCode{
		SUCCESS("0000");
		
		public final String value;

		private AlarmJudgeRespCode(String value) {
			this.value = value;
		}
		
		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 监控对象名称类型 （调用告警接口）
	  * @author  qiuyf
	  * @since 2019年6月19日 下午4:50:14
	  * @version 1.0
	 */
	public enum AlarmObjectName{
		OCM_REAL_TIME("网贷实时"),
		OCM_BATCH("网贷批量");
		
		public final String value;

		private AlarmObjectName(String value) {
			this.value = value;
		}
		
		public String getValue() {
			return value;
		}
	}

	/**
	 * 进件受理时间开关
	 * @author  dengqiwen
	 * @since 2020年09月22日
	 * @version 1.0
	 */
	public enum LimitSwitch{
		/* 0:关闭 */
		CLOSE("0"),
		/* 1:开启 */
		OPEN("1");

		public final String value;

		private LimitSwitch(String value) {
			this.value = value;
		}

		public String getValue() {
			return value;
		}

	}

	/**
	 * 优e贷授信返回值
	 * @author  dengqiwen
	 * @since 2020年09月22日
	 * @version 1.0
	 */
	public enum YedRespCode{
		/* 01:处理中 */
		DISPOSING("01"),
		/* 02:成功 */
		SUCCESS("02"),
		/* 03：拒绝 */
		REJECT("03");

		public final String value;

		private YedRespCode(String value) {
			this.value = value;
		}

		public String getValue() {
			return value;
		}

	}

}
